﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication11
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку");
            string str = Console.ReadLine();
            StringBuilder sb = new StringBuilder();
            int mem = 32; //установленный пробел в памяти последней ячейки
            for (int i = 0; i < str.Length; i++) //цикл перебора чаров во введенной строке
            {
                char ch = str[i];
                char alpha = ' ';
                int a = 32;
                while (ch != alpha) //цикл соответствия ascii
                {
                    alpha++;
                    a++;
                }
                if (Math.Abs(a - 32) <= Math.Abs(a - mem)) //проверка на оптимальность
                {
                    if (i == 0) { } else { sb.Append(">"); }
                    for (int k = 0; k < (a - 32); k++) //цикл выведения на консоль (с учетом пробелов)
                    {
                        sb.Append("+");
                    }
                    mem = a;
                }
                else if ((a - mem) >= 0)
                {
                    sb.Append("%>");
                    for (int k = 0; k < Math.Abs(a - mem); k++) //цикл выведения на консоль (с учетом пробелов)
                    {
                        sb.Append("+");
                    }
                    mem = a;
                }
                else if ((a - mem) < 0)
                {
                    sb.Append("%>");
                    for (int k = 0; k < Math.Abs(a - mem); k++) //цикл выведения на консоль (с учетом пробелов)
                    {
                        sb.Append("-");
                    }
                    mem = a;
                }
            }
            sb.Append("@");
            Console.WriteLine(sb);
            Console.WriteLine(sb.Length);
            Console.ReadLine();
           
        }
    }
}



